﻿#pragma once
#include<iostream>
#include "GreedyWall.h"
#include "GreedyFood.h"
using namespace std;

class GreedySnake
{
public:
	GreedySnake(GreedyWall& teampWall, GreedyFood& tempFood);

	enum
	{
		UP = 'w', DOWN = 's', LEFT = 'a', RIGHT = 'd'
	};

	//3.节点；
	struct Point
	{
		//1.数据域；
		int x;
		int y;

		//2.指针域；
		Point* next;
	};

	//6.初始化蛇；
	void initSnake();
	//4.销毁节点；
	void destroyPoint();
	//5.添加节点；
	void addPoint(int x, int y);
	//7.删除节点；
	void delPoint();
	//8.移动蛇操作；返回值代表，移动是否成功；
	bool move(char key);
	//10.设定难度，获取刷屏时间；
	int getSleepTime();
	//11.获取蛇身段；
	int countList();
	//12.获取分数；
	int getScore();

	Point* pHead;
	GreedyWall& wall;
	GreedyFood& food;
	//9.判断循环标识；
	bool isLoop;
};
